Linux top 查看CPU、内存、线程等信息

您所在的位置:网站首页 ubuntu 查看系统内存 Linux top 查看CPU、内存、线程等信息

Linux top 查看CPU、内存、线程等信息

2023-03-15 14:49| 来源: 网络整理| 查看: 265

top 命令用于查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过 top 命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高…. 同时可以实时显示 process 的动态。

使用权限:所有使用者。

[root@localhost wbxbuilds]# top top - 01:52:19 up 32 days, 15:18, 1 user, load average: 0.03, 0.06, 0.10 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.6 us, 0.3 sy, 0.0 ni, 97.5 id, 1.6 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 8010512 total, 1043328 free, 3339404 used, 3627780 buff/cache KiB Swap: 3145724 total, 3142272 free, 3452 used. 4226060 avail Mem

Top 输出详解

# top 命令第一行 top - 01:52:19 up 32 days, 15:18, 1 user, load average: 0.03, 0.06, 0.1001:52:19 表示系统当前时间。up 32 days 表示系统最后一次启动后总的运行时间。1 user 表示当前系统中只有一个登录用户。load average: 0.03, 0.06, 0.10 表示系统的平均负载,最后的三个数字分别表示最后一分钟的系统平均负载,最后五分钟的系统平均负载,最后十五分钟的系统平均负载。

注意:load average 数据是每隔 5 秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑 CPU 的数量,结果高于 5 的时候就表明系统在超负荷运转了。

# top 命令第二行 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombieTasks: 206 total 表示当前系统的进程总数。1 running 表示当前系统中有 1 个正在运行的进程。205 sleeping 表示当前系统中有 205 个休眠的进程。0 stopped 表示停止状态的进程数为 0。0 zombie 表示处于僵死状态的进程数为 0。# top 命令第三行, cpu 状态 %Cpu(s): 0.6 us, 0.3 sy, 0.0 ni, 97.5 id, 1.6 wa, 0.0 hi, 0.0 si, 0.0 st

依次对应如下:

us 进程在用户地址空间中消耗 CPU 时间的百分比。sy 进程在内核地址空间中消耗 CPU 时间的百分比。ni 这里显示的 ni 表示调整过 nice 值的进程消耗掉的 CPU 时间。id CPU 处于 idle 状态的百分比。一般情况下, us + ni + id 应该接近 100%。wa CPU 等待磁盘 IO 操作的时间。hi 表示处理硬中断消耗的时间。硬中断是硬盘、网卡等硬件设备发送给 CPU 的中断消息,当 CPU 收到中断消息后需要进行适当的处理(消耗 CPU 时间)。si 表示处理软中断消耗的时间。软中断是由程序发出的中断,最终也会执行相应的处理程序(消耗 CPU 时间)。st: 只有 Linux 在作为虚拟机运行时 st 才是有意义的。它表示虚机等待 CPU 资源的时间(虚机分到的是虚拟 CPU,当需要真实的 CPU 时,可能真实的 CPU 正在运行其它虚机的任务,所以需要等待)。# top 命令第四行,内存状态 KiB Mem : 8010512 total, 1043328 free, 3339404 used, 3627780 buff/cache # top 命令第五行,内存交换分区 KiB Swap: 3145724 total, 3142272 free, 3452 used. 4226060 avail Mem

上述类似 Linuxfree指令展示的内存信息。

任务详情

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19021 rabbitmq 20 0 3389628 105812 4320 S 4.0 1.3 826:20.61 beam.smp 1124 root 20 0 582176 31204 14476 S 0.3 0.4 4:17.64 containerd 4954 root 20 0 5760308 965756 14436 S 0.3 12.1 21:14.08 java 22793 root 20 0 196836 45592 32860 S 0.3 0.6 56:26.12 consul 29271 root 20 0 157764 2344 1580 R 0.3 0.0 0:01.36 top 1 root 20 0 191020 4016 2572 S 0.0 0.1 0:49.52 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.89 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:01.00 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:02.14 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 7:12.66 rcu_sched 10 root rt 0 0 0 0 S 0.0 0.0 0:09.27 watchdog/0 11 root rt 0 0 0 0 S 0.0 0.0 0:07.77 watchdog/1

默认情况下这里会显示 12 列数据:

PID 表示进程 ID。USER 表示进程所有者的有效用户名称。简单说就是以哪个用户权限启动的进程。比如上图中有两个进程是用户 nick 启动的,还有一个是用户 prometheus 启动的,其它都是 root 用户启动的。PR 表示进程执行的优先级,PR 的值是以 Linux 内核的视角看到的进程执行的优先级。NI 从用户视角看到的进程执行优先级。注意上图中 NI 值为 -20 的两个进程,它们的 PR 值都是 0。VIRT表示进程使用的虚拟内存大小。RES 表示进程使用的物理内存大小。SHR 表示进程使用的共享内存的大小。S 表示进程当前的状态。S 值有下面几种:D 不可中断的睡眠状态(uninterruptible sleep)I idle 状态R 进程在 running 队列中,正在运行或准备运行(running)S 睡眠状态(sleeping)T 停止状态(stopped by job control signal)t 跟踪状态(stopped by debugger during trace)Z 僵尸状态(zombie)%CPU 表示进程使用 CPU 的百分比。%MEM 表示进程使用内存的百分比。TIME+ 表示进程累计使用的 CPU 时间。COMMAND 表示运行进程对应的程序。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3